package com.koron.css2.meterService.mapper;

import com.koron.css2.meterService.bean.MsChgBean;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface MsChgMapper {
	
	int addMsChg(MsChgBean bean);
	
	/**
	 * 通过用户号，旧表编号，新表编号查询换表信息
	 * @param userNo
	 * @param oldMeterNo
	 * @param newMeterNo
	 * @return
	 */
	MsChgBean selectOne(@Param("userNo") String userNo, @Param("oldMeterNo") String oldMeterNo, @Param("newMeterNo") String newMeterNo);
	
	/**
	 * 通过用户号，旧表编号，新表编号并且 USE_STATE = 0
	 * 的换表信息
	 * @param userNo
	 * @param oldMeterNo
	 * @param newMeterNo
	 * @return
	 */
	int delete(@Param("userNo") String userNo, @Param("oldMeterNo") String oldMeterNo, @Param("newMeterNo") String newMeterNo);
	
	/**
	 * 根据用户号以及换表日期查询所有未使用状态下的换表记录
	 * @param replaceDate
	 * @param userNo
	 * @return
	 */
	List<MsChgBean> selectNotUse(@Param("replaceDate") Date replaceDate, @Param("userNo") String userNo);
	
	int updateUseState(@Param("mrReadingId") String mrReadingId, @Param("useState") int useState);

	/**
	 * 根据用户编号和起止日期查询
	 * @param UserNo
	 * @param beginDate
	 * @param endDate
	 * @return
	 */
	List<MsChgBean> selectByUserNoAndDate(@Param("userNo") String userNo, @Param("beginDate") String beginDate, @Param("endDate") String endDate);

	/**
	 * 根据用户编号和起止日期查询
	 * @param UserNo
	 * @param beginDate
	 * @param endDate
	 * @return
	 */
	MsChgBean selectLastByUserNoAndDate(@Param("userNo") String userNo, @Param("beginDate") String beginDate, @Param("endDate") String endDate);
}
